﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Collections.Concurrent;
using System.Linq;
using System.Text;
using System.Dynamic;
using System.ComponentModel;
using System.Windows.Threading;

namespace FinPlusCommon
{
    public interface IFinPlusFuncDynamics 
    {
        event PropertyChangedEventHandler FunctionChanged, ColumnChanged;
        event NotifyCollectionChangedEventHandler CollectionChanged;

        void Add(IFinPlusFuncDynamic dynamicDict);

        void Clear();

        void Replace(IFinPlusFunctions funcs);

        bool Remove(string id);

        bool TryGet(string id, out IFinPlusFuncDynamic value);

        IFinPlusFunctions ToFunctions();
    }
}
